package scerbak.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import scerbak.services.DatamodelGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalDatamodelParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_UPID", "RULE_EMPTY", "RULE_CHAR", "RULE_UPCHAR", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "','", "'('", "')'", "'/'", "'package'", "':'", "'-'", "'import'", "'.'", "'.*'"
    };
    public static final int RULE_EMPTY=6;
    public static final int RULE_ID=4;
    public static final int RULE_STRING=10;
    public static final int RULE_UPCHAR=8;
    public static final int RULE_ANY_OTHER=14;
    public static final int RULE_UPID=5;
    public static final int RULE_INT=9;
    public static final int RULE_CHAR=7;
    public static final int RULE_WS=13;
    public static final int RULE_SL_COMMENT=12;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=11;

        public InternalDatamodelParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g"; }


     
     	private DatamodelGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(DatamodelGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleModel
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:61:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:62:1: ( ruleModel EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:63:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
            ruleModel();
            _fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleModel


    // $ANTLR start ruleModel
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:70:1: ruleModel : ( ( rule__Model__Group__0 ) ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:74:2: ( ( ( rule__Model__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:75:1: ( ( rule__Model__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:75:1: ( ( rule__Model__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:76:1: ( rule__Model__Group__0 )
            {
             before(grammarAccess.getModelAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:77:1: ( rule__Model__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:77:2: rule__Model__Group__0
            {
            pushFollow(FOLLOW_rule__Model__Group__0_in_ruleModel94);
            rule__Model__Group__0();
            _fsp--;


            }

             after(grammarAccess.getModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleModel


    // $ANTLR start entryRulePackage
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:89:1: entryRulePackage : rulePackage EOF ;
    public final void entryRulePackage() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:90:1: ( rulePackage EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:91:1: rulePackage EOF
            {
             before(grammarAccess.getPackageRule()); 
            pushFollow(FOLLOW_rulePackage_in_entryRulePackage121);
            rulePackage();
            _fsp--;

             after(grammarAccess.getPackageRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePackage128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePackage


    // $ANTLR start rulePackage
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:98:1: rulePackage : ( ( rule__Package__Group__0 ) ) ;
    public final void rulePackage() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:102:2: ( ( ( rule__Package__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:103:1: ( ( rule__Package__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:103:1: ( ( rule__Package__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:104:1: ( rule__Package__Group__0 )
            {
             before(grammarAccess.getPackageAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:105:1: ( rule__Package__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:105:2: rule__Package__Group__0
            {
            pushFollow(FOLLOW_rule__Package__Group__0_in_rulePackage154);
            rule__Package__Group__0();
            _fsp--;


            }

             after(grammarAccess.getPackageAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePackage


    // $ANTLR start entryRuleData
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:117:1: entryRuleData : ruleData EOF ;
    public final void entryRuleData() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:118:1: ( ruleData EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:119:1: ruleData EOF
            {
             before(grammarAccess.getDataRule()); 
            pushFollow(FOLLOW_ruleData_in_entryRuleData181);
            ruleData();
            _fsp--;

             after(grammarAccess.getDataRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleData188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleData


    // $ANTLR start ruleData
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:126:1: ruleData : ( ( rule__Data__Group__0 ) ) ;
    public final void ruleData() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:130:2: ( ( ( rule__Data__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:131:1: ( ( rule__Data__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:131:1: ( ( rule__Data__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:132:1: ( rule__Data__Group__0 )
            {
             before(grammarAccess.getDataAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:133:1: ( rule__Data__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:133:2: rule__Data__Group__0
            {
            pushFollow(FOLLOW_rule__Data__Group__0_in_ruleData214);
            rule__Data__Group__0();
            _fsp--;


            }

             after(grammarAccess.getDataAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleData


    // $ANTLR start entryRulePlainText
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:147:1: entryRulePlainText : rulePlainText EOF ;
    public final void entryRulePlainText() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:148:1: ( rulePlainText EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:149:1: rulePlainText EOF
            {
             before(grammarAccess.getPlainTextRule()); 
            pushFollow(FOLLOW_rulePlainText_in_entryRulePlainText243);
            rulePlainText();
            _fsp--;

             after(grammarAccess.getPlainTextRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePlainText250); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePlainText


    // $ANTLR start rulePlainText
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:156:1: rulePlainText : ( ( rule__PlainText__Group__0 ) ) ;
    public final void rulePlainText() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:160:2: ( ( ( rule__PlainText__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:161:1: ( ( rule__PlainText__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:161:1: ( ( rule__PlainText__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:162:1: ( rule__PlainText__Group__0 )
            {
             before(grammarAccess.getPlainTextAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:163:1: ( rule__PlainText__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:163:2: rule__PlainText__Group__0
            {
            pushFollow(FOLLOW_rule__PlainText__Group__0_in_rulePlainText276);
            rule__PlainText__Group__0();
            _fsp--;


            }

             after(grammarAccess.getPlainTextAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePlainText


    // $ANTLR start entryRuleNAME
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:175:1: entryRuleNAME : ruleNAME EOF ;
    public final void entryRuleNAME() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:176:1: ( ruleNAME EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:177:1: ruleNAME EOF
            {
             before(grammarAccess.getNAMERule()); 
            pushFollow(FOLLOW_ruleNAME_in_entryRuleNAME303);
            ruleNAME();
            _fsp--;

             after(grammarAccess.getNAMERule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNAME310); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNAME


    // $ANTLR start ruleNAME
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:184:1: ruleNAME : ( ( rule__NAME__Group__0 ) ) ;
    public final void ruleNAME() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:188:2: ( ( ( rule__NAME__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:189:1: ( ( rule__NAME__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:189:1: ( ( rule__NAME__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:190:1: ( rule__NAME__Group__0 )
            {
             before(grammarAccess.getNAMEAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:191:1: ( rule__NAME__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:191:2: rule__NAME__Group__0
            {
            pushFollow(FOLLOW_rule__NAME__Group__0_in_ruleNAME336);
            rule__NAME__Group__0();
            _fsp--;


            }

             after(grammarAccess.getNAMEAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNAME


    // $ANTLR start entryRuleImport
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:203:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:204:1: ( ruleImport EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:205:1: ruleImport EOF
            {
             before(grammarAccess.getImportRule()); 
            pushFollow(FOLLOW_ruleImport_in_entryRuleImport363);
            ruleImport();
            _fsp--;

             after(grammarAccess.getImportRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImport370); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleImport


    // $ANTLR start ruleImport
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:212:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
    public final void ruleImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:216:2: ( ( ( rule__Import__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:217:1: ( ( rule__Import__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:217:1: ( ( rule__Import__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:218:1: ( rule__Import__Group__0 )
            {
             before(grammarAccess.getImportAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:219:1: ( rule__Import__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:219:2: rule__Import__Group__0
            {
            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport396);
            rule__Import__Group__0();
            _fsp--;


            }

             after(grammarAccess.getImportAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleImport


    // $ANTLR start entryRuleQualifiedName
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:231:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:232:1: ( ruleQualifiedName EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:233:1: ruleQualifiedName EOF
            {
             before(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName423);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getQualifiedNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName430); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleQualifiedName


    // $ANTLR start ruleQualifiedName
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:240:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:244:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:245:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:245:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:246:1: ( rule__QualifiedName__Group__0 )
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:247:1: ( rule__QualifiedName__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:247:2: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName456);
            rule__QualifiedName__Group__0();
            _fsp--;


            }

             after(grammarAccess.getQualifiedNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleQualifiedName


    // $ANTLR start entryRuleQualifiedNameWithWildcard
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:259:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ;
    public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException {
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:260:1: ( ruleQualifiedNameWithWildcard EOF )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:261:1: ruleQualifiedNameWithWildcard EOF
            {
             before(grammarAccess.getQualifiedNameWithWildcardRule()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard483);
            ruleQualifiedNameWithWildcard();
            _fsp--;

             after(grammarAccess.getQualifiedNameWithWildcardRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard490); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleQualifiedNameWithWildcard


    // $ANTLR start ruleQualifiedNameWithWildcard
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:268:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ;
    public final void ruleQualifiedNameWithWildcard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:272:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:273:1: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:273:1: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:274:1: ( rule__QualifiedNameWithWildcard__Group__0 )
            {
             before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:275:1: ( rule__QualifiedNameWithWildcard__Group__0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:275:2: rule__QualifiedNameWithWildcard__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__0_in_ruleQualifiedNameWithWildcard516);
            rule__QualifiedNameWithWildcard__Group__0();
            _fsp--;


            }

             after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleQualifiedNameWithWildcard


    // $ANTLR start rule__PlainText__Alternatives_1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:287:1: rule__PlainText__Alternatives_1 : ( ( RULE_ID ) | ( ',' ) | ( '(' ) | ( ')' ) | ( '/' ) );
    public final void rule__PlainText__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:291:1: ( ( RULE_ID ) | ( ',' ) | ( '(' ) | ( ')' ) | ( '/' ) )
            int alt1=5;
            switch ( input.LA(1) ) {
            case RULE_ID:
                {
                alt1=1;
                }
                break;
            case 15:
                {
                alt1=2;
                }
                break;
            case 16:
                {
                alt1=3;
                }
                break;
            case 17:
                {
                alt1=4;
                }
                break;
            case 18:
                {
                alt1=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("287:1: rule__PlainText__Alternatives_1 : ( ( RULE_ID ) | ( ',' ) | ( '(' ) | ( ')' ) | ( '/' ) );", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:292:1: ( RULE_ID )
                    {
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:292:1: ( RULE_ID )
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:293:1: RULE_ID
                    {
                     before(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_1_0()); 
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PlainText__Alternatives_1552); 
                     after(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:298:6: ( ',' )
                    {
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:298:6: ( ',' )
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:299:1: ','
                    {
                     before(grammarAccess.getPlainTextAccess().getCommaKeyword_1_1()); 
                    match(input,15,FOLLOW_15_in_rule__PlainText__Alternatives_1570); 
                     after(grammarAccess.getPlainTextAccess().getCommaKeyword_1_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:306:6: ( '(' )
                    {
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:306:6: ( '(' )
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:307:1: '('
                    {
                     before(grammarAccess.getPlainTextAccess().getLeftParenthesisKeyword_1_2()); 
                    match(input,16,FOLLOW_16_in_rule__PlainText__Alternatives_1590); 
                     after(grammarAccess.getPlainTextAccess().getLeftParenthesisKeyword_1_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:314:6: ( ')' )
                    {
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:314:6: ( ')' )
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:315:1: ')'
                    {
                     before(grammarAccess.getPlainTextAccess().getRightParenthesisKeyword_1_3()); 
                    match(input,17,FOLLOW_17_in_rule__PlainText__Alternatives_1610); 
                     after(grammarAccess.getPlainTextAccess().getRightParenthesisKeyword_1_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:322:6: ( '/' )
                    {
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:322:6: ( '/' )
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:323:1: '/'
                    {
                     before(grammarAccess.getPlainTextAccess().getSolidusKeyword_1_4()); 
                    match(input,18,FOLLOW_18_in_rule__PlainText__Alternatives_1630); 
                     after(grammarAccess.getPlainTextAccess().getSolidusKeyword_1_4()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PlainText__Alternatives_1


    // $ANTLR start rule__Model__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:337:1: rule__Model__Group__0 : rule__Model__Group__0__Impl rule__Model__Group__1 ;
    public final void rule__Model__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:341:1: ( rule__Model__Group__0__Impl rule__Model__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:342:2: rule__Model__Group__0__Impl rule__Model__Group__1
            {
            pushFollow(FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__0662);
            rule__Model__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Model__Group__1_in_rule__Model__Group__0665);
            rule__Model__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__Group__0


    // $ANTLR start rule__Model__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:349:1: rule__Model__Group__0__Impl : ( ( rule__Model__ImportsAssignment_0 )* ) ;
    public final void rule__Model__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:353:1: ( ( ( rule__Model__ImportsAssignment_0 )* ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:354:1: ( ( rule__Model__ImportsAssignment_0 )* )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:354:1: ( ( rule__Model__ImportsAssignment_0 )* )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:355:1: ( rule__Model__ImportsAssignment_0 )*
            {
             before(grammarAccess.getModelAccess().getImportsAssignment_0()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:356:1: ( rule__Model__ImportsAssignment_0 )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==22) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:356:2: rule__Model__ImportsAssignment_0
            	    {
            	    pushFollow(FOLLOW_rule__Model__ImportsAssignment_0_in_rule__Model__Group__0__Impl692);
            	    rule__Model__ImportsAssignment_0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getImportsAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__Group__0__Impl


    // $ANTLR start rule__Model__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:366:1: rule__Model__Group__1 : rule__Model__Group__1__Impl ;
    public final void rule__Model__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:370:1: ( rule__Model__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:371:2: rule__Model__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__1723);
            rule__Model__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__Group__1


    // $ANTLR start rule__Model__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:377:1: rule__Model__Group__1__Impl : ( ( rule__Model__PackageAssignment_1 ) ) ;
    public final void rule__Model__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:381:1: ( ( ( rule__Model__PackageAssignment_1 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:382:1: ( ( rule__Model__PackageAssignment_1 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:382:1: ( ( rule__Model__PackageAssignment_1 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:383:1: ( rule__Model__PackageAssignment_1 )
            {
             before(grammarAccess.getModelAccess().getPackageAssignment_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:384:1: ( rule__Model__PackageAssignment_1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:384:2: rule__Model__PackageAssignment_1
            {
            pushFollow(FOLLOW_rule__Model__PackageAssignment_1_in_rule__Model__Group__1__Impl750);
            rule__Model__PackageAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getModelAccess().getPackageAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__Group__1__Impl


    // $ANTLR start rule__Package__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:398:1: rule__Package__Group__0 : rule__Package__Group__0__Impl rule__Package__Group__1 ;
    public final void rule__Package__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:402:1: ( rule__Package__Group__0__Impl rule__Package__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:403:2: rule__Package__Group__0__Impl rule__Package__Group__1
            {
            pushFollow(FOLLOW_rule__Package__Group__0__Impl_in_rule__Package__Group__0784);
            rule__Package__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Package__Group__1_in_rule__Package__Group__0787);
            rule__Package__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__0


    // $ANTLR start rule__Package__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:410:1: rule__Package__Group__0__Impl : ( 'package' ) ;
    public final void rule__Package__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:414:1: ( ( 'package' ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:415:1: ( 'package' )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:415:1: ( 'package' )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:416:1: 'package'
            {
             before(grammarAccess.getPackageAccess().getPackageKeyword_0()); 
            match(input,19,FOLLOW_19_in_rule__Package__Group__0__Impl815); 
             after(grammarAccess.getPackageAccess().getPackageKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__0__Impl


    // $ANTLR start rule__Package__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:429:1: rule__Package__Group__1 : rule__Package__Group__1__Impl rule__Package__Group__2 ;
    public final void rule__Package__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:433:1: ( rule__Package__Group__1__Impl rule__Package__Group__2 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:434:2: rule__Package__Group__1__Impl rule__Package__Group__2
            {
            pushFollow(FOLLOW_rule__Package__Group__1__Impl_in_rule__Package__Group__1846);
            rule__Package__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Package__Group__2_in_rule__Package__Group__1849);
            rule__Package__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__1


    // $ANTLR start rule__Package__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:441:1: rule__Package__Group__1__Impl : ( ( rule__Package__NameAssignment_1 ) ) ;
    public final void rule__Package__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:445:1: ( ( ( rule__Package__NameAssignment_1 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:446:1: ( ( rule__Package__NameAssignment_1 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:446:1: ( ( rule__Package__NameAssignment_1 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:447:1: ( rule__Package__NameAssignment_1 )
            {
             before(grammarAccess.getPackageAccess().getNameAssignment_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:448:1: ( rule__Package__NameAssignment_1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:448:2: rule__Package__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Package__NameAssignment_1_in_rule__Package__Group__1__Impl876);
            rule__Package__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getPackageAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__1__Impl


    // $ANTLR start rule__Package__Group__2
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:458:1: rule__Package__Group__2 : rule__Package__Group__2__Impl rule__Package__Group__3 ;
    public final void rule__Package__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:462:1: ( rule__Package__Group__2__Impl rule__Package__Group__3 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:463:2: rule__Package__Group__2__Impl rule__Package__Group__3
            {
            pushFollow(FOLLOW_rule__Package__Group__2__Impl_in_rule__Package__Group__2906);
            rule__Package__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Package__Group__3_in_rule__Package__Group__2909);
            rule__Package__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__2


    // $ANTLR start rule__Package__Group__2__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:470:1: rule__Package__Group__2__Impl : ( ':' ) ;
    public final void rule__Package__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:474:1: ( ( ':' ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:475:1: ( ':' )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:475:1: ( ':' )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:476:1: ':'
            {
             before(grammarAccess.getPackageAccess().getColonKeyword_2()); 
            match(input,20,FOLLOW_20_in_rule__Package__Group__2__Impl937); 
             after(grammarAccess.getPackageAccess().getColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__2__Impl


    // $ANTLR start rule__Package__Group__3
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:489:1: rule__Package__Group__3 : rule__Package__Group__3__Impl ;
    public final void rule__Package__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:493:1: ( rule__Package__Group__3__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:494:2: rule__Package__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Package__Group__3__Impl_in_rule__Package__Group__3968);
            rule__Package__Group__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__3


    // $ANTLR start rule__Package__Group__3__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:500:1: rule__Package__Group__3__Impl : ( ( ( rule__Package__DataAssignment_3 ) ) ( ( rule__Package__DataAssignment_3 )* ) ) ;
    public final void rule__Package__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:504:1: ( ( ( ( rule__Package__DataAssignment_3 ) ) ( ( rule__Package__DataAssignment_3 )* ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:505:1: ( ( ( rule__Package__DataAssignment_3 ) ) ( ( rule__Package__DataAssignment_3 )* ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:505:1: ( ( ( rule__Package__DataAssignment_3 ) ) ( ( rule__Package__DataAssignment_3 )* ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:506:1: ( ( rule__Package__DataAssignment_3 ) ) ( ( rule__Package__DataAssignment_3 )* )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:506:1: ( ( rule__Package__DataAssignment_3 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:507:1: ( rule__Package__DataAssignment_3 )
            {
             before(grammarAccess.getPackageAccess().getDataAssignment_3()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:508:1: ( rule__Package__DataAssignment_3 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:508:2: rule__Package__DataAssignment_3
            {
            pushFollow(FOLLOW_rule__Package__DataAssignment_3_in_rule__Package__Group__3__Impl997);
            rule__Package__DataAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getPackageAccess().getDataAssignment_3()); 

            }

            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:511:1: ( ( rule__Package__DataAssignment_3 )* )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:512:1: ( rule__Package__DataAssignment_3 )*
            {
             before(grammarAccess.getPackageAccess().getDataAssignment_3()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:513:1: ( rule__Package__DataAssignment_3 )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==RULE_UPID) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:513:2: rule__Package__DataAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Package__DataAssignment_3_in_rule__Package__Group__3__Impl1009);
            	    rule__Package__DataAssignment_3();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getPackageAccess().getDataAssignment_3()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__Group__3__Impl


    // $ANTLR start rule__Data__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:532:1: rule__Data__Group__0 : rule__Data__Group__0__Impl rule__Data__Group__1 ;
    public final void rule__Data__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:536:1: ( rule__Data__Group__0__Impl rule__Data__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:537:2: rule__Data__Group__0__Impl rule__Data__Group__1
            {
            pushFollow(FOLLOW_rule__Data__Group__0__Impl_in_rule__Data__Group__01050);
            rule__Data__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Data__Group__1_in_rule__Data__Group__01053);
            rule__Data__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group__0


    // $ANTLR start rule__Data__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:544:1: rule__Data__Group__0__Impl : ( ( rule__Data__NameAssignment_0 ) ) ;
    public final void rule__Data__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:548:1: ( ( ( rule__Data__NameAssignment_0 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:549:1: ( ( rule__Data__NameAssignment_0 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:549:1: ( ( rule__Data__NameAssignment_0 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:550:1: ( rule__Data__NameAssignment_0 )
            {
             before(grammarAccess.getDataAccess().getNameAssignment_0()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:551:1: ( rule__Data__NameAssignment_0 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:551:2: rule__Data__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Data__NameAssignment_0_in_rule__Data__Group__0__Impl1080);
            rule__Data__NameAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getDataAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group__0__Impl


    // $ANTLR start rule__Data__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:561:1: rule__Data__Group__1 : rule__Data__Group__1__Impl ;
    public final void rule__Data__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:565:1: ( rule__Data__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:566:2: rule__Data__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Data__Group__1__Impl_in_rule__Data__Group__11110);
            rule__Data__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group__1


    // $ANTLR start rule__Data__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:572:1: rule__Data__Group__1__Impl : ( ( rule__Data__Group_1__0 )? ) ;
    public final void rule__Data__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:576:1: ( ( ( rule__Data__Group_1__0 )? ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:577:1: ( ( rule__Data__Group_1__0 )? )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:577:1: ( ( rule__Data__Group_1__0 )? )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:578:1: ( rule__Data__Group_1__0 )?
            {
             before(grammarAccess.getDataAccess().getGroup_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:579:1: ( rule__Data__Group_1__0 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==21) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:579:2: rule__Data__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Data__Group_1__0_in_rule__Data__Group__1__Impl1137);
                    rule__Data__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDataAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group__1__Impl


    // $ANTLR start rule__Data__Group_1__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:593:1: rule__Data__Group_1__0 : rule__Data__Group_1__0__Impl rule__Data__Group_1__1 ;
    public final void rule__Data__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:597:1: ( rule__Data__Group_1__0__Impl rule__Data__Group_1__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:598:2: rule__Data__Group_1__0__Impl rule__Data__Group_1__1
            {
            pushFollow(FOLLOW_rule__Data__Group_1__0__Impl_in_rule__Data__Group_1__01172);
            rule__Data__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Data__Group_1__1_in_rule__Data__Group_1__01175);
            rule__Data__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group_1__0


    // $ANTLR start rule__Data__Group_1__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:605:1: rule__Data__Group_1__0__Impl : ( '-' ) ;
    public final void rule__Data__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:609:1: ( ( '-' ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:610:1: ( '-' )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:610:1: ( '-' )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:611:1: '-'
            {
             before(grammarAccess.getDataAccess().getHyphenMinusKeyword_1_0()); 
            match(input,21,FOLLOW_21_in_rule__Data__Group_1__0__Impl1203); 
             after(grammarAccess.getDataAccess().getHyphenMinusKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group_1__0__Impl


    // $ANTLR start rule__Data__Group_1__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:624:1: rule__Data__Group_1__1 : rule__Data__Group_1__1__Impl ;
    public final void rule__Data__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:628:1: ( rule__Data__Group_1__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:629:2: rule__Data__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Data__Group_1__1__Impl_in_rule__Data__Group_1__11234);
            rule__Data__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group_1__1


    // $ANTLR start rule__Data__Group_1__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:635:1: rule__Data__Group_1__1__Impl : ( ( rule__Data__DescriptionAssignment_1_1 ) ) ;
    public final void rule__Data__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:639:1: ( ( ( rule__Data__DescriptionAssignment_1_1 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:640:1: ( ( rule__Data__DescriptionAssignment_1_1 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:640:1: ( ( rule__Data__DescriptionAssignment_1_1 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:641:1: ( rule__Data__DescriptionAssignment_1_1 )
            {
             before(grammarAccess.getDataAccess().getDescriptionAssignment_1_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:642:1: ( rule__Data__DescriptionAssignment_1_1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:642:2: rule__Data__DescriptionAssignment_1_1
            {
            pushFollow(FOLLOW_rule__Data__DescriptionAssignment_1_1_in_rule__Data__Group_1__1__Impl1261);
            rule__Data__DescriptionAssignment_1_1();
            _fsp--;


            }

             after(grammarAccess.getDataAccess().getDescriptionAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__Group_1__1__Impl


    // $ANTLR start rule__PlainText__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:656:1: rule__PlainText__Group__0 : rule__PlainText__Group__0__Impl rule__PlainText__Group__1 ;
    public final void rule__PlainText__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:660:1: ( rule__PlainText__Group__0__Impl rule__PlainText__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:661:2: rule__PlainText__Group__0__Impl rule__PlainText__Group__1
            {
            pushFollow(FOLLOW_rule__PlainText__Group__0__Impl_in_rule__PlainText__Group__01295);
            rule__PlainText__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__PlainText__Group__1_in_rule__PlainText__Group__01298);
            rule__PlainText__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PlainText__Group__0


    // $ANTLR start rule__PlainText__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:668:1: rule__PlainText__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__PlainText__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:672:1: ( ( RULE_ID ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:673:1: ( RULE_ID )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:673:1: ( RULE_ID )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:674:1: RULE_ID
            {
             before(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PlainText__Group__0__Impl1325); 
             after(grammarAccess.getPlainTextAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PlainText__Group__0__Impl


    // $ANTLR start rule__PlainText__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:685:1: rule__PlainText__Group__1 : rule__PlainText__Group__1__Impl ;
    public final void rule__PlainText__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:689:1: ( rule__PlainText__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:690:2: rule__PlainText__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__PlainText__Group__1__Impl_in_rule__PlainText__Group__11354);
            rule__PlainText__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PlainText__Group__1


    // $ANTLR start rule__PlainText__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:696:1: rule__PlainText__Group__1__Impl : ( ( rule__PlainText__Alternatives_1 )* ) ;
    public final void rule__PlainText__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:700:1: ( ( ( rule__PlainText__Alternatives_1 )* ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:701:1: ( ( rule__PlainText__Alternatives_1 )* )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:701:1: ( ( rule__PlainText__Alternatives_1 )* )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:702:1: ( rule__PlainText__Alternatives_1 )*
            {
             before(grammarAccess.getPlainTextAccess().getAlternatives_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:703:1: ( rule__PlainText__Alternatives_1 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==RULE_ID||(LA5_0>=15 && LA5_0<=18)) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:703:2: rule__PlainText__Alternatives_1
            	    {
            	    pushFollow(FOLLOW_rule__PlainText__Alternatives_1_in_rule__PlainText__Group__1__Impl1381);
            	    rule__PlainText__Alternatives_1();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getPlainTextAccess().getAlternatives_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PlainText__Group__1__Impl


    // $ANTLR start rule__NAME__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:717:1: rule__NAME__Group__0 : rule__NAME__Group__0__Impl rule__NAME__Group__1 ;
    public final void rule__NAME__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:721:1: ( rule__NAME__Group__0__Impl rule__NAME__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:722:2: rule__NAME__Group__0__Impl rule__NAME__Group__1
            {
            pushFollow(FOLLOW_rule__NAME__Group__0__Impl_in_rule__NAME__Group__01416);
            rule__NAME__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__NAME__Group__1_in_rule__NAME__Group__01419);
            rule__NAME__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NAME__Group__0


    // $ANTLR start rule__NAME__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:729:1: rule__NAME__Group__0__Impl : ( RULE_UPID ) ;
    public final void rule__NAME__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:733:1: ( ( RULE_UPID ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:734:1: ( RULE_UPID )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:734:1: ( RULE_UPID )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:735:1: RULE_UPID
            {
             before(grammarAccess.getNAMEAccess().getUPIDTerminalRuleCall_0()); 
            match(input,RULE_UPID,FOLLOW_RULE_UPID_in_rule__NAME__Group__0__Impl1446); 
             after(grammarAccess.getNAMEAccess().getUPIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NAME__Group__0__Impl


    // $ANTLR start rule__NAME__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:746:1: rule__NAME__Group__1 : rule__NAME__Group__1__Impl ;
    public final void rule__NAME__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:750:1: ( rule__NAME__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:751:2: rule__NAME__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__NAME__Group__1__Impl_in_rule__NAME__Group__11475);
            rule__NAME__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NAME__Group__1


    // $ANTLR start rule__NAME__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:757:1: rule__NAME__Group__1__Impl : ( ( rulePlainText )? ) ;
    public final void rule__NAME__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:761:1: ( ( ( rulePlainText )? ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:762:1: ( ( rulePlainText )? )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:762:1: ( ( rulePlainText )? )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:763:1: ( rulePlainText )?
            {
             before(grammarAccess.getNAMEAccess().getPlainTextParserRuleCall_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:764:1: ( rulePlainText )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==RULE_ID) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:764:3: rulePlainText
                    {
                    pushFollow(FOLLOW_rulePlainText_in_rule__NAME__Group__1__Impl1503);
                    rulePlainText();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getNAMEAccess().getPlainTextParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NAME__Group__1__Impl


    // $ANTLR start rule__Import__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:778:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
    public final void rule__Import__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:782:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:783:2: rule__Import__Group__0__Impl rule__Import__Group__1
            {
            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__01538);
            rule__Import__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__01541);
            rule__Import__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group__0


    // $ANTLR start rule__Import__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:790:1: rule__Import__Group__0__Impl : ( 'import' ) ;
    public final void rule__Import__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:794:1: ( ( 'import' ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:795:1: ( 'import' )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:795:1: ( 'import' )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:796:1: 'import'
            {
             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
            match(input,22,FOLLOW_22_in_rule__Import__Group__0__Impl1569); 
             after(grammarAccess.getImportAccess().getImportKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group__0__Impl


    // $ANTLR start rule__Import__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:809:1: rule__Import__Group__1 : rule__Import__Group__1__Impl ;
    public final void rule__Import__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:813:1: ( rule__Import__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:814:2: rule__Import__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__11600);
            rule__Import__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group__1


    // $ANTLR start rule__Import__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:820:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) ;
    public final void rule__Import__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:824:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:825:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:825:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:826:1: ( rule__Import__ImportedNamespaceAssignment_1 )
            {
             before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:827:1: ( rule__Import__ImportedNamespaceAssignment_1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:827:2: rule__Import__ImportedNamespaceAssignment_1
            {
            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl1627);
            rule__Import__ImportedNamespaceAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group__1__Impl


    // $ANTLR start rule__QualifiedName__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:841:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:845:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:846:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__01661);
            rule__QualifiedName__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__01664);
            rule__QualifiedName__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__0


    // $ANTLR start rule__QualifiedName__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:853:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:857:1: ( ( RULE_ID ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:858:1: ( RULE_ID )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:858:1: ( RULE_ID )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:859:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl1691); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__0__Impl


    // $ANTLR start rule__QualifiedName__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:870:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:874:1: ( rule__QualifiedName__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:875:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__11720);
            rule__QualifiedName__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__1


    // $ANTLR start rule__QualifiedName__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:881:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:885:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:886:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:886:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:887:1: ( rule__QualifiedName__Group_1__0 )*
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:888:1: ( rule__QualifiedName__Group_1__0 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==23) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:888:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl1747);
            	    rule__QualifiedName__Group_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group__1__Impl


    // $ANTLR start rule__QualifiedName__Group_1__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:902:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:906:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:907:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__01782);
            rule__QualifiedName__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__01785);
            rule__QualifiedName__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__0


    // $ANTLR start rule__QualifiedName__Group_1__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:914:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:918:1: ( ( '.' ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:919:1: ( '.' )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:919:1: ( '.' )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:920:1: '.'
            {
             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            match(input,23,FOLLOW_23_in_rule__QualifiedName__Group_1__0__Impl1813); 
             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__0__Impl


    // $ANTLR start rule__QualifiedName__Group_1__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:933:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:937:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:938:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__11844);
            rule__QualifiedName__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__1


    // $ANTLR start rule__QualifiedName__Group_1__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:944:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:948:1: ( ( RULE_ID ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:949:1: ( RULE_ID )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:949:1: ( RULE_ID )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:950:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl1871); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedName__Group_1__1__Impl


    // $ANTLR start rule__QualifiedNameWithWildcard__Group__0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:965:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
    public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:969:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:970:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__0__Impl_in_rule__QualifiedNameWithWildcard__Group__01904);
            rule__QualifiedNameWithWildcard__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__1_in_rule__QualifiedNameWithWildcard__Group__01907);
            rule__QualifiedNameWithWildcard__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildcard__Group__0


    // $ANTLR start rule__QualifiedNameWithWildcard__Group__0__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:977:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
    public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:981:1: ( ( ruleQualifiedName ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:982:1: ( ruleQualifiedName )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:982:1: ( ruleQualifiedName )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:983:1: ruleQualifiedName
            {
             before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildcard__Group__0__Impl1934);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildcard__Group__0__Impl


    // $ANTLR start rule__QualifiedNameWithWildcard__Group__1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:994:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl ;
    public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:998:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:999:2: rule__QualifiedNameWithWildcard__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__1__Impl_in_rule__QualifiedNameWithWildcard__Group__11963);
            rule__QualifiedNameWithWildcard__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildcard__Group__1


    // $ANTLR start rule__QualifiedNameWithWildcard__Group__1__Impl
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1005:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( ( '.*' )? ) ;
    public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1009:1: ( ( ( '.*' )? ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1010:1: ( ( '.*' )? )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1010:1: ( ( '.*' )? )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1011:1: ( '.*' )?
            {
             before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopAsteriskKeyword_1()); 
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1012:1: ( '.*' )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==24) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1013:2: '.*'
                    {
                    match(input,24,FOLLOW_24_in_rule__QualifiedNameWithWildcard__Group__1__Impl1992); 

                    }
                    break;

            }

             after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopAsteriskKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QualifiedNameWithWildcard__Group__1__Impl


    // $ANTLR start rule__Model__ImportsAssignment_0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1029:1: rule__Model__ImportsAssignment_0 : ( ruleImport ) ;
    public final void rule__Model__ImportsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1033:1: ( ( ruleImport ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1034:1: ( ruleImport )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1034:1: ( ruleImport )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1035:1: ruleImport
            {
             before(grammarAccess.getModelAccess().getImportsImportParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleImport_in_rule__Model__ImportsAssignment_02034);
            ruleImport();
            _fsp--;

             after(grammarAccess.getModelAccess().getImportsImportParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__ImportsAssignment_0


    // $ANTLR start rule__Model__PackageAssignment_1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1044:1: rule__Model__PackageAssignment_1 : ( rulePackage ) ;
    public final void rule__Model__PackageAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1048:1: ( ( rulePackage ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1049:1: ( rulePackage )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1049:1: ( rulePackage )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1050:1: rulePackage
            {
             before(grammarAccess.getModelAccess().getPackagePackageParserRuleCall_1_0()); 
            pushFollow(FOLLOW_rulePackage_in_rule__Model__PackageAssignment_12065);
            rulePackage();
            _fsp--;

             after(grammarAccess.getModelAccess().getPackagePackageParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__PackageAssignment_1


    // $ANTLR start rule__Package__NameAssignment_1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1059:1: rule__Package__NameAssignment_1 : ( ruleQualifiedName ) ;
    public final void rule__Package__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1063:1: ( ( ruleQualifiedName ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1064:1: ( ruleQualifiedName )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1064:1: ( ruleQualifiedName )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1065:1: ruleQualifiedName
            {
             before(grammarAccess.getPackageAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__Package__NameAssignment_12096);
            ruleQualifiedName();
            _fsp--;

             after(grammarAccess.getPackageAccess().getNameQualifiedNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__NameAssignment_1


    // $ANTLR start rule__Package__DataAssignment_3
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1074:1: rule__Package__DataAssignment_3 : ( ruleData ) ;
    public final void rule__Package__DataAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1078:1: ( ( ruleData ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1079:1: ( ruleData )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1079:1: ( ruleData )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1080:1: ruleData
            {
             before(grammarAccess.getPackageAccess().getDataDataParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleData_in_rule__Package__DataAssignment_32127);
            ruleData();
            _fsp--;

             after(grammarAccess.getPackageAccess().getDataDataParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Package__DataAssignment_3


    // $ANTLR start rule__Data__NameAssignment_0
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1089:1: rule__Data__NameAssignment_0 : ( ruleNAME ) ;
    public final void rule__Data__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1093:1: ( ( ruleNAME ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1094:1: ( ruleNAME )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1094:1: ( ruleNAME )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1095:1: ruleNAME
            {
             before(grammarAccess.getDataAccess().getNameNAMEParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleNAME_in_rule__Data__NameAssignment_02158);
            ruleNAME();
            _fsp--;

             after(grammarAccess.getDataAccess().getNameNAMEParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__NameAssignment_0


    // $ANTLR start rule__Data__DescriptionAssignment_1_1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1104:1: rule__Data__DescriptionAssignment_1_1 : ( rulePlainText ) ;
    public final void rule__Data__DescriptionAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1108:1: ( ( rulePlainText ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1109:1: ( rulePlainText )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1109:1: ( rulePlainText )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1110:1: rulePlainText
            {
             before(grammarAccess.getDataAccess().getDescriptionPlainTextParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_rulePlainText_in_rule__Data__DescriptionAssignment_1_12189);
            rulePlainText();
            _fsp--;

             after(grammarAccess.getDataAccess().getDescriptionPlainTextParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Data__DescriptionAssignment_1_1


    // $ANTLR start rule__Import__ImportedNamespaceAssignment_1
    // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1119:1: rule__Import__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildcard ) ;
    public final void rule__Import__ImportedNamespaceAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1123:1: ( ( ruleQualifiedNameWithWildcard ) )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1124:1: ( ruleQualifiedNameWithWildcard )
            {
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1124:1: ( ruleQualifiedNameWithWildcard )
            // ../scerbak.datamodel.ui/src-gen/scerbak/ui/contentassist/antlr/internal/InternalDatamodel.g:1125:1: ruleQualifiedNameWithWildcard
            {
             before(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_rule__Import__ImportedNamespaceAssignment_12220);
            ruleQualifiedNameWithWildcard();
            _fsp--;

             after(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__ImportedNamespaceAssignment_1


 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__0_in_ruleModel94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePackage_in_entryRulePackage121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePackage128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__0_in_rulePackage154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleData_in_entryRuleData181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleData188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__Group__0_in_ruleData214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_entryRulePlainText243 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePlainText250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Group__0_in_rulePlainText276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_entryRuleNAME303 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNAME310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NAME__Group__0_in_ruleNAME336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport363 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImport370 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName423 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard483 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard490 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__0_in_ruleQualifiedNameWithWildcard516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__PlainText__Alternatives_1552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__PlainText__Alternatives_1570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__PlainText__Alternatives_1590 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__PlainText__Alternatives_1610 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__PlainText__Alternatives_1630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__0662 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Model__Group__1_in_rule__Model__Group__0665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__ImportsAssignment_0_in_rule__Model__Group__0__Impl692 = new BitSet(new long[]{0x0000000000400002L});
    public static final BitSet FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__1723 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__PackageAssignment_1_in_rule__Model__Group__1__Impl750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__0__Impl_in_rule__Package__Group__0784 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Package__Group__1_in_rule__Package__Group__0787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Package__Group__0__Impl815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__1__Impl_in_rule__Package__Group__1846 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Package__Group__2_in_rule__Package__Group__1849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__NameAssignment_1_in_rule__Package__Group__1__Impl876 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__2__Impl_in_rule__Package__Group__2906 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Package__Group__3_in_rule__Package__Group__2909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Package__Group__2__Impl937 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__Group__3__Impl_in_rule__Package__Group__3968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Package__DataAssignment_3_in_rule__Package__Group__3__Impl997 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Package__DataAssignment_3_in_rule__Package__Group__3__Impl1009 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Data__Group__0__Impl_in_rule__Data__Group__01050 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Data__Group__1_in_rule__Data__Group__01053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__NameAssignment_0_in_rule__Data__Group__0__Impl1080 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__Group__1__Impl_in_rule__Data__Group__11110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__Group_1__0_in_rule__Data__Group__1__Impl1137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__Group_1__0__Impl_in_rule__Data__Group_1__01172 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Data__Group_1__1_in_rule__Data__Group_1__01175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Data__Group_1__0__Impl1203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__Group_1__1__Impl_in_rule__Data__Group_1__11234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Data__DescriptionAssignment_1_1_in_rule__Data__Group_1__1__Impl1261 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Group__0__Impl_in_rule__PlainText__Group__01295 = new BitSet(new long[]{0x0000000000078012L});
    public static final BitSet FOLLOW_rule__PlainText__Group__1_in_rule__PlainText__Group__01298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__PlainText__Group__0__Impl1325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Group__1__Impl_in_rule__PlainText__Group__11354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PlainText__Alternatives_1_in_rule__PlainText__Group__1__Impl1381 = new BitSet(new long[]{0x0000000000078012L});
    public static final BitSet FOLLOW_rule__NAME__Group__0__Impl_in_rule__NAME__Group__01416 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__NAME__Group__1_in_rule__NAME__Group__01419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_UPID_in_rule__NAME__Group__0__Impl1446 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NAME__Group__1__Impl_in_rule__NAME__Group__11475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__NAME__Group__1__Impl1503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__01538 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__01541 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Import__Group__0__Impl1569 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__11600 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl1627 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__01661 = new BitSet(new long[]{0x0000000000800002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__01664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl1691 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__11720 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl1747 = new BitSet(new long[]{0x0000000000800002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__01782 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__01785 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__QualifiedName__Group_1__0__Impl1813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__11844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl1871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__0__Impl_in_rule__QualifiedNameWithWildcard__Group__01904 = new BitSet(new long[]{0x0000000001000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__1_in_rule__QualifiedNameWithWildcard__Group__01907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildcard__Group__0__Impl1934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__1__Impl_in_rule__QualifiedNameWithWildcard__Group__11963 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__QualifiedNameWithWildcard__Group__1__Impl1992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__Model__ImportsAssignment_02034 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePackage_in_rule__Model__PackageAssignment_12065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Package__NameAssignment_12096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleData_in_rule__Package__DataAssignment_32127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNAME_in_rule__Data__NameAssignment_02158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlainText_in_rule__Data__DescriptionAssignment_1_12189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_rule__Import__ImportedNamespaceAssignment_12220 = new BitSet(new long[]{0x0000000000000002L});

}